#ifndef STACK_H
#define STACK_H
#include <string>
#include <iostream>
#define MAX_SIZE 255
using namespace std;

template <typename T>
class Stack {
private:
	struct ListNode {
		T item;
		ListNode* next;
	};
	ListNode* _head;
	int _size;

public:
	Stack();
	bool isEmpty() const;
	int size() const;
	void push(const T& newItem);
	void pop();
	void pop(T& stackTop);
	void getTop(T& stackTop) const;

};

#endif